home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat2 / standard / sysmp.z / sysmp
Encoding:
Text File  |  2001-04-17  |  19.0 KB  |  331 lines

  1.  
  2.  
  3.  
  4. ssssyyyyssssmmmmpppp((((2222))))                                                              ssssyyyyssssmmmmpppp((((2222))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      sysmp - multiprocessing control
  10.  
  11. CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>>
  13.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssyyyyssssmmmmpppp....hhhh>>>>
  14.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssyyyyssssiiiinnnnffffoooo....hhhh>>>> /* for SAGET and MINFO structures */
  15.      iiiinnnntttt ssssyyyyssssmmmmpppp ((((iiiinnnntttt ccccmmmmdddd,,,, ............))));;;;
  16.      ppppttttrrrrddddiiiiffffffff____tttt ssssyyyyssssmmmmpppp ((((iiiinnnntttt ccccmmmmdddd,,,, ............))));;;;""""
  17.  
  18. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.      _ssss_yyyy_ssss_mmmm_pppp provides control/information for miscellaneous system services.
  20.      This system call is usually used by system programs and is not intended
  21.      for general use.  The arguments _a_r_g_1, _a_r_g_2, _a_r_g_3, _a_r_g_4 are provided for
  22.      command-dependent use.
  23.  
  24.      As specified by _c_m_d, the following commands are available:
  25.  
  26.      MMMMPPPP____CCCCLLLLEEEEAAAARRRRCCCCFFFFSSSSSSSSTTTTAAAATTTT
  27.      MMMMPPPP____CCCCLLLLEEEEAAAARRRRNNNNFFFFSSSSSSSSTTTTAAAATTTT
  28.      MMMMPPPP____NNNNUUUUMMMMAAAA____GGGGEEEETTTTCCCCPPPPUUUUNNNNOOOODDDDEEEEMMMMAAAAPPPP
  29.      MMMMPPPP____NNNNUUUUMMMMAAAA____GGGGEEEETTTTDDDDIIIISSSSTTTTMMMMAAAATTTTRRRRIIIIXXXX
  30.                     These are all interfaces that are used to implement
  31.                     various system library functions.  They are all subject to
  32.                     change and should not be called directly by applications.
  33.  
  34.      MMMMPPPP____PPPPGGGGSSSSIIIIZZZZEEEE      The page size of the system is returned (see
  35.                     _gggg_eeee_tttt_pppp_aaaa_gggg_eeee_ssss_iiii_zzzz_eeee(2)).
  36.  
  37.      MMMMPPPP____SSSSCCCCHHHHEEEEDDDD       Interface for the _ssss_cccc_hhhh_eeee_dddd_cccc_tttt_llll(2) system call.
  38.  
  39.      MMMMPPPP____NNNNPPPPRRRROOOOCCCCSSSS      Returns the number of processors physically configured.
  40.  
  41.      MMMMPPPP____NNNNAAAAPPPPRRRROOOOCCCCSSSS     Returns the number of processors that are available to
  42.                     schedule unrestricted processes.
  43.  
  44.      MMMMPPPP____SSSSTTTTAAAATTTT        The processor ids and status flag bits of the physically
  45.                     configured processors are copied into an array of _p_d_a__s_t_a_t
  46.                     structures to which _a_r_g_1 points.  The array must be large
  47.                     enough to hold as many _p_d_a__s_t_a_t structures as the number
  48.                     of processors returned by the MMMMPPPP____NNNNPPPPRRRROOOOCCCCSSSS _ssss_yyyy_ssss_mmmm_pppp command.
  49.                     The _p_d_a__s_t_a_t structure and the various status bits are
  50.                     defined in <_s_y_s/_p_d_a._h>.
  51.  
  52.      MMMMPPPP____EEEEMMMMPPPPOOOOWWWWEEEERRRR     The processor number given by _a_r_g_1, interpreted as an
  53.                     'int', is empowered to run any unrestricted processes.
  54.                     This is the default for all processors.  This command
  55.                     requires superuser authority.
  56.  
  57.      MMMMPPPP____RRRREEEESSSSTTTTRRRRIIIICCCCTTTT    The processor number given by _a_r_g_1, interpreted as an
  58.                     'int', is restricted from running any processes except
  59.                     those assigned to it by a MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN or MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ssssyyyyssssmmmmpppp((((2222))))                                                              ssssyyyyssssmmmmpppp((((2222))))
  71.  
  72.  
  73.  
  74.                     command, a _rrrr_uuuu_nnnn_oooo_nnnn(1) command or because of hardware
  75.                     necessity.  Note that processor 0 cannot be restricted.
  76.                     This command requires superuser authority.  On Challenge
  77.                     Series machines, all timers belonging to the processor are
  78.                     moved to the processor that owns the clock as reported by
  79.                     MMMMPPPP____CCCCLLLLOOOOCCCCKKKK....
  80.  
  81.      MMMMPPPP____IIIISSSSOOOOLLLLAAAATTTTEEEE     The processor number given by _a_r_g_1, interpreted as an
  82.                     'int', is isolated from running any processes except those
  83.                     assigned to it by a MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN command, a _rrrr_uuuu_nnnn_oooo_nnnn(1) command
  84.                     or because of hardware necessity.  Instruction cache and
  85.                     Translation Lookaside Buffer synchronization across
  86.                     processors in the system is minimized or delayed on an
  87.                     isolated processor until system services are requested.
  88.                     Note that processor 0 cannot be isolated.  This command
  89.                     requires superuser authority.  On Challenge Series
  90.                     machines, all timers belonging to the processor are moved
  91.                     to the processor that owns the clock as reported by
  92.                     MMMMPPPP____CCCCLLLLOOOOCCCCKKKK....
  93.  
  94.      MMMMPPPP____UUUUNNNNIIIISSSSOOOOLLLLAAAATTTTEEEE   The processor number given by _a_r_g_1, interpreted as an
  95.                     'int', is unisolated and empowered to run any unrestricted
  96.                     processes.  This is the default system configuration for
  97.                     all processors.  This command requires superuser
  98.                     authority.
  99.  
  100.      MMMMPPPP____PPPPRRRREEEEEEEEMMMMPPPPTTTTIIIIVVVVEEEE  The processor number given by _a_r_g_1, interpreted as an
  101.                     'int', has its clock scheduler enabled.  This is the
  102.                     default for all processors.  This command requires
  103.                     superuser authority.
  104.  
  105.      MMMMPPPP____NNNNOOOONNNNPPPPRRRREEEEEEEEMMMMPPPPTTTTIIIIVVVVEEEE
  106.                     The processor number given by _a_r_g_1, interpreted as an
  107.                     'int', has its clock scheduler disabled.  Normal process
  108.                     time slicing is no longer enforced on that processor.  As
  109.                     a result of turning off the clock interrupt, the interrupt
  110.                     latency on this processor will be lower.  This command
  111.                     requires superuser authority and is allowed only on an
  112.                     isolated processor.  This command is not allowed on the
  113.                     clock processor (see MMMMPPPP____CCCCLLLLOOOOCCCCKKKK).
  114.  
  115.      MMMMPPPP____CCCCLLLLOOOOCCCCKKKK       The processor number given by _a_r_g_1, interpreted as an
  116.                     'int', is given charge of the operating system software
  117.                     clock (see _tttt_iiii_mmmm_eeee_rrrr_ssss(5)).  This command requires superuser
  118.                     authority.
  119.  
  120.      MMMMPPPP____FFFFAAAASSSSTTTTCCCCLLLLOOOOCCCCKKKK   The processor number given by _a_r_g_1, interpreted as an
  121.                     'int', is given charge of the operating system software
  122.                     fast clock (see _tttt_iiii_mmmm_eeee_rrrr_ssss(5)).  This command requires
  123.                     superuser authority.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ssssyyyyssssmmmmpppp((((2222))))                                                              ssssyyyyssssmmmmpppp((((2222))))
  137.  
  138.  
  139.  
  140.      MMMMPPPP____MMMMIIIISSSSEEEERRRR____GGGGEEEETTTTRRRREEEEQQQQUUUUEEEESSSSTTTT
  141.      MMMMPPPP____MMMMIIIISSSSEEEERRRR____SSSSEEEENNNNDDDDRRRREEEEQQQQUUUUEEEESSSSTTTT
  142.      MMMMPPPP____MMMMIIIISSSSEEEERRRR____RRRREEEESSSSPPPPOOOONNNNDDDD
  143.      MMMMPPPP____MMMMIIIISSSSEEEERRRR____GGGGEEEETTTTRRRREEEESSSSOOOOUUUURRRRCCCCEEEE
  144.      MMMMPPPP____MMMMIIIISSSSEEEERRRR____SSSSEEEETTTTRRRREEEESSSSOOOOUUUURRRRCCCCEEEE
  145.      MMMMPPPP____MMMMIIIISSSSEEEERRRR____CCCCHHHHEEEECCCCKKKKAAAACCCCCCCCEEEESSSSSSSS
  146.                     These are all interfaces that are used to implement
  147.                     various _m_i_s_e_r(_1) functions.  These are all subject to
  148.                     change and should not be called directly by applications.
  149.  
  150.      MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN     Assigns the calling process to run only on the processor
  151.                     number by _a_r_g_1, interpreted as an 'int', except as
  152.                     required for communications with hardware devices.  A
  153.                     process that has allocated a CC sync register (see
  154.                     _cccc_cccc_ssss_yyyy_nnnn_cccc(7m)) is restricted to running on a particular cpu.
  155.                     Attempts to reassign such a process to another cpu will
  156.                     fail until the CC sync register has been relinquished.
  157.                     This command should not be used within a pthreaded
  158.                     application (see _pppp_tttt_hhhh_rrrr_eeee_aaaa_dddd______ssss_eeee_tttt_rrrr_uuuu_nnnn_oooo_nnnn______nnnn_pppp(3P)).
  159.  
  160.      MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD Assigns the process specified by _a_r_g_2 to run only on the
  161.                     processor number specified by _a_r_g_1, both interpreted as
  162.                     'int', except as required for communications with hardware
  163.                     devices.  A process that has allocated a CC sync register
  164.                     (see _cccc_cccc_ssss_yyyy_nnnn_cccc(7m)) is restricted to running on a particular
  165.                     cpu.  Attempts to reassign such a process to another cpu
  166.                     will fail until the CC sync register has been
  167.                     relinquished.  This command will give unpredictable
  168.                     results if the specified process is a pthreaded process.
  169.  
  170.      MMMMPPPP____GGGGEEEETTTTMMMMUUUUSSSSTTTTRRRRUUUUNNNN  Returns the processor the current process has been set to
  171.                     run on using the MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN command.  If the current
  172.                     process has not been assigned to a specific processor, -1
  173.                     is returned and errno is set to EINVAL.  This command
  174.                     should not be used within a pthreaded application (see
  175.                     _pppp_tttt_hhhh_rrrr_eeee_aaaa_dddd______ssss_eeee_tttt_rrrr_uuuu_nnnn_oooo_nnnn______nnnn_pppp(3P)).
  176.  
  177.      MMMMPPPP____GGGGEEEETTTTMMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD
  178.                     Returns the processor that the process specified by _a_r_g_1
  179.                     has been set to run on using the MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN or
  180.                     MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD command.  If the process has not been
  181.                     assigned to a specific processor, -1 is returned and errno
  182.                     is set to EINVAL.  This command will give unpredictable
  183.                     results if the specified process is a pthreaded process.
  184.  
  185.      MMMMPPPP____RRRRUUUUNNNNAAAANNNNYYYYWWWWHHHHEEEERRRREEEE Frees the calling process to run on whatever processor the
  186.                     system deems suitable.
  187.  
  188.      MMMMPPPP____RRRRUUUUNNNNAAAANNNNYYYYWWWWHHHHEEEERRRREEEE____PPPPIIIIDDDD
  189.                     Frees the process specified by _a_r_g_1 to run on whatever
  190.                     processor the system deems suitable.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ssssyyyyssssmmmmpppp((((2222))))                                                              ssssyyyyssssmmmmpppp((((2222))))
  203.  
  204.  
  205.  
  206.      MMMMPPPP____KKKKEEEERRRRNNNNAAAADDDDDDDDRRRR    Returns the address of various kernel data structures.
  207.                     The structure returned is selected by _a_r_g_1.  The list of
  208.                     available structures is detailed in <_s_y_s/_s_y_s_m_p._h>.  This
  209.                     option is used by many system programs to avoid having to
  210.                     look in ////uuuunnnniiiixxxx for the location of the data structures.
  211.  
  212.      MMMMPPPP____SSSSAAAASSSSZZZZ        Returns the size of various system accounting structures.
  213.                     As above, the structure returned is governed by _a_r_g_1.
  214.  
  215.      MMMMPPPP____SSSSAAAAGGGGEEEETTTT1111      Returns the contents of various system accounting
  216.                     structures.  The information is only for the processor
  217.                     specified by _a_r_g_4.  As above, the structure returned is
  218.                     governed by _a_r_g_1.  _a_r_g_2 points to a buffer in the address
  219.                     space of the calling process and _a_r_g_3 specifies the
  220.                     maximum number of bytes to transfer.
  221.  
  222.      MMMMPPPP____SSSSAAAAGGGGEEEETTTT       Returns the contents of various system accounting
  223.                     structures.  The information is summed across all
  224.                     processors before it is returned.  As above, the structure
  225.                     returned is governed by _a_r_g_1.  _a_r_g_2 points to a buffer in
  226.                     the address space of the calling process and _a_r_g_3
  227.                     specifies the maximum number of bytes to transfer.
  228.  
  229.      Possible errors from _ssss_yyyy_ssss_mmmm_pppp are:
  230.  
  231.      [EPERM]     The effective user ID is not superuser.  Many of the commands
  232.                  require superuser privilege.
  233.  
  234.      [EPERM]     The user ID of the sending process is not superuser, and its
  235.                  real or effective user ID does not match the real, saved,  or
  236.                  effective user ID of the receiving process.
  237.  
  238.      [ESRCH]     No process corresponding to that specified by a
  239.                  _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD, _MMMM_PPPP______GGGG_EEEE_TTTT_MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD, or _MMMM_PPPP______RRRR_UUUU_NNNN_AAAA_NNNN_YYYY_WWWW_HHHH_EEEE_RRRR_EEEE______PPPP_IIII_DDDD
  240.                  could be found.
  241.  
  242.      [EINVAL]    The processor named by a _MMMM_PPPP______EEEE_MMMM_PPPP_OOOO_WWWW_EEEE_RRRR, _MMMM_PPPP______RRRR_EEEE_SSSS_TTTT_RRRR_IIII_CCCC_TTTT, _MMMM_PPPP______CCCC_LLLL_OOOO_CCCC_KKKK or
  243.                  _MMMM_PPPP______SSSS_AAAA_GGGG_EEEE_TTTT_1111 command does not exist.
  244.  
  245.      [EINVAL]    The _c_m_d argument is invalid.
  246.  
  247.      [EINVAL]    The _a_r_g_1 argument to a _MMMM_PPPP______KKKK_EEEE_RRRR_NNNN_AAAA_DDDD_DDDD_RRRR command is invalid.
  248.  
  249.      [EINVAL]    An attempt was made via _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN or _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD to move
  250.                  a process owning a CC sync register from the cpu controlling
  251.                  the CC sync register.
  252.  
  253.      [EINVAL]    The target of the _MMMM_PPPP______GGGG_EEEE_TTTT_MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN command has not been set to
  254.                  run on a specific processor.
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ssssyyyyssssmmmmpppp((((2222))))                                                              ssssyyyyssssmmmmpppp((((2222))))
  269.  
  270.  
  271.  
  272.      [EINVAL]    The target process of the _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD command is a
  273.                  pthreaded process.
  274.  
  275.      [EBUSY]     An attempt was made to restrict the only unrestricted
  276.                  processor or to restrict the master processor.
  277.  
  278.      [EFAULT]    An invalid buffer address has been supplied by the calling
  279.                  process.
  280.  
  281. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  282.      mpadmin(1), runon(1), getpagesize(2), schedctl(2),
  283.      pthread_setrunon_np(3P), timers(5)
  284.  
  285. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  286.      Upon successful completion, the _c_m_d dependent data is returned.
  287.      Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate the
  288.      error.
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.